package com.ruoyi.web.mapper;

import java.util.List;
import com.ruoyi.web.domain.WxPayLog;

/**
 * 微信支付流水日志Mapper接口
 * 
 * @author ruoyi
 * @date 2024-12-19
 */
public interface WxPayLogMapper 
{
    /**
     * 查询微信支付流水日志
     * 
     * @param id 微信支付流水日志主键
     * @return 微信支付流水日志
     */
    public WxPayLog selectWxPayLogById(Long id);

    /**
     * 根据商户订单号查询微信支付流水日志列表
     * 
     * @param outTradeNo 商户订单号
     * @return 微信支付流水日志列表
     */
    public List<WxPayLog> selectWxPayLogListByOutTradeNo(String outTradeNo);

    /**
     * 根据微信支付订单号查询微信支付流水日志列表
     * 
     * @param transactionId 微信支付订单号
     * @return 微信支付流水日志列表
     */
    public List<WxPayLog> selectWxPayLogListByTransactionId(String transactionId);

    /**
     * 根据用户openid查询微信支付流水日志列表
     * 
     * @param openid 用户openid
     * @return 微信支付流水日志列表
     */
    public List<WxPayLog> selectWxPayLogListByOpenid(String openid);

    /**
     * 根据日志类型查询微信支付流水日志列表
     * 
     * @param logType 日志类型
     * @return 微信支付流水日志列表
     */
    public List<WxPayLog> selectWxPayLogListByLogType(String logType);

    /**
     * 根据操作类型查询微信支付流水日志列表
     * 
     * @param operation 操作类型
     * @return 微信支付流水日志列表
     */
    public List<WxPayLog> selectWxPayLogListByOperation(String operation);

    /**
     * 查询微信支付流水日志列表
     * 
     * @param wxPayLog 微信支付流水日志
     * @return 微信支付流水日志集合
     */
    public List<WxPayLog> selectWxPayLogList(WxPayLog wxPayLog);

    /**
     * 新增微信支付流水日志
     * 
     * @param wxPayLog 微信支付流水日志
     * @return 结果
     */
    public int insertWxPayLog(WxPayLog wxPayLog);

    /**
     * 修改微信支付流水日志
     * 
     * @param wxPayLog 微信支付流水日志
     * @return 结果
     */
    public int updateWxPayLog(WxPayLog wxPayLog);

    /**
     * 删除微信支付流水日志
     * 
     * @param id 微信支付流水日志主键
     * @return 结果
     */
    public int deleteWxPayLogById(Long id);

    /**
     * 批量删除微信支付流水日志
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWxPayLogByIds(String[] ids);

    /**
     * 统计日志数量
     * 
     * @param wxPayLog 查询条件
     * @return 日志数量
     */
    public int countWxPayLog(WxPayLog wxPayLog);

    /**
     * 清理过期日志
     * 
     * @param days 保留天数
     * @return 清理数量
     */
    public int cleanExpiredLogs(int days);
}
